package com.tiankun.eurekauserinfo.service;

import com.tiankun.eurekauserinfo.pojo.Order;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA
 * User: bear
 * Date: 2020/11/13
 * Description
 * Version: V1.0
 */
public interface OrderService {


    /**
     * 产生订单
     *
     * @param userPhone user电话号码
     * @param godDetails    商品信息（多个）（godId，money，godNumber）
     * @return 返回订单号
     */
    String addOrder(String userPhone, List<Map<String,Object>> godDetails);

    /**
     * 支付接口
     * @param userPhone 用户的电话号码
     * @param tktMoney  优惠券的满减额度
     * @param orderRandom   订单号
     * @param ticketId  优惠券的id
     * @return  返回一个支付页面
     */

    String payment(String userPhone, Integer tktMoney,String orderRandom,Integer ticketId);

    /**
     * 查找订单
     * @param orderRandom
     * @return
     */
    Order findByOrderId(String orderRandom);

    /**
     * 通过电话号码查询所有的订单
     * @param userPhone user电话号码
     * @return  返回查询结果
     */
    List<Order> findByUserPhone(String userPhone);


    /**
     * 支付之后的回调
     * @param request
     * @param response
     * @return  返回优惠券Id和userPhone
     * @throws Exception
     */
    Map<String,Object> alipayNotify(HttpServletRequest request, HttpServletResponse response) throws Exception;

    /**
     * 确认收货
     * @param orderId   订单id
     * @return  返回受影响行数
     */
    Integer confirmReceipt(Integer orderId);
}
